#!/bin/bash

# 定义下载函数

download_xmrig() {
    echo "是否下载xmrig程序?"
    echo "1. 下载"
    echo "2. 跳过下载"
    read xmrig_choice

    case $xmrig_choice in
        1)
            echo "正在下载xmrig..."
            wget -O xmrig https://gitee.com/dudu1luchang/dudu/raw/master/xmrig && sudo chmod 777 xmrig
            if [ $? -ne 0 ]; then
                echo "下载失败，请检查网络连接或链接是否正确。"
            fi
            ;;
        2)
            echo "跳过 xmrig 更新"
            ;;
        *)
            echo "无效选择"
            ;;
    esac
}

# 主菜单循环
while true; do
    # 显示菜单
    echo "单挖sal，请选择一个操作:"
    echo "第一次使用请先更新锄头，再配置文档之后启动挖矿..."
    echo "有问题请联系：du.叫兽（微信号duduyiluchang）"
    echo " "
    echo "1. 下载锄头"
    echo "2. 配置文档"
    echo "3. 查看配置"
    echo "4. 启动挖矿"
    echo "5. 停止挖矿"
    echo "6. 查看日志"
    echo "0. 退出脚本"

    # 获取用户选择
    read choice

    case $choice in
        1)
            # 下载 xmrig
            download_xmrig
            ;;
        2)
            echo "配置文档(第一次请务必先配置）..."
            

            # 获取矿机名称（默认值：dudu）
            echo "请输入矿机名称 [默认: dudu]:"
            read miner_name
            miner_name=${miner_name:-dudu}

            # 获取 sal 池子地址（默认值：www.duduyiluchang.store:39000）
            echo "sal池子地址（默认为www.duduyiluchang.store:31230,   herominers的池子）:"
            read sal_pool
            sal_pool=${sal_pool:-www.duduyiluchang.store:31230}
            
            # 获取 sal 钱包地址
            echo "请输入sal钱包地址:"
            read sal_address
            sal_address=${sal_address:-SaLvdYM4DRETGawHVp8zg84eREnpXbiJyVKzuiqwhQHV7S2ARwFYtfY2bQJDRC7g8ZLh1a41uFq1271bUwMGAC5uXX344MCmawq}

            # 获取 sal 线程数（默认值：0）
            echo "请输入sal线程数 [默认: 0,最大]:"
            read threads
            threads=${threads:-0}

            # 创建 sal.conf 文件并写入配置

            echo "threads=$threads" >> sal.conf
            echo "miner_name=$miner_name" >> sal.conf
            echo "sal_address=$sal_address" >> sal.conf
            echo "sal_pool=$sal_pool" >> sal.conf


# 读取 sal.conf 中的配置
if [[ -f "sal.conf" ]]; then
    while IFS='=' read -r key value; do
        # 去除空格
        key=$(echo "$key" | xargs)
        value=$(echo "$value" | xargs)
        # 将变量导出为环境变量
        export "$key"="$value"
    done < "sal.conf"
else
    echo "sal.conf 文件不存在！"
    exit 1
fi



            # 提示配置完成
            echo "配置文档已经完成。"
            
            ;;
        3)
            echo "查看配置..."
            # 在这里添加查看配置的代码
            if [ -f "sal.conf" ]; then
                cat sal.conf
            else
                echo "配置文件 sal.conf 不存在，请先运行配置文档。"
            fi
            ;;
        4)
          echo "启动挖矿..."
          # 在后台运行并且不记录日志
          # 读取配置文件 sal.conf
            source ./sal.conf
        nohup ./xmrig -o "$sal_pool" -u "$sal_address" -p "$miner_name" -a rx/0 -k -t "$threads" --donate-level 1 --tls --log-level=info --log-file=sal.log > /dev/null 2>&1 &
            echo "脚本已在后台运行。"
            ;;

        5)
            echo "停止挖矿..."
            # 在这里添加停止挖矿的代码

            pkill -f "xmrig"
            echo "挖矿已停止。"
            ;;
        6)
            # 检查是否存在 sal.log 日志文件
            if [ -f "sal.log" ]; then
                echo "正在查看 sal.log，按 q 退出查看并返回菜单..."
                sleep 1

                # 启动 tail -f 查看日志
                tail -f sal.log &
                tail_pid_sal=$!

                while true; do
                    # 监听用户输入，1秒钟检查一次
                    read -t 1 -n 1 input
                    if [[ "$input" == "q" ]]; then
                        echo "退出日志查看，返回菜单..."
                        # 结束 tail -f 进程
                        if [ -n "$tail_pid_sal" ]; then
                            kill $tail_pid_sal
                        fi
                        break
                    fi
                done
            else
                echo "日志文件 sal.log 不存在，请先启动挖矿。"
            fi
            ;;

        0)
            echo "退出脚本"
            exit 0
            ;;
        *)
            echo "无效选择"
            ;;
    esac
done
